C++中^是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/06/19 07:02:59
C++中^是什么意思?

21^2就是23
10^2就是8
那这到底是什么意思啊?
#include<iostream>
#include<cmath>

using namespace std;

int main()
{
for(int i=-10;i<=10;i++){
int a=i^2;
cout<<i<<" "<<a<<endl;
}

system("pause");

return 0;
}

输出的结果我看不出什么规律,拜托各位解释的详细点……

C++的^是位异或操作符,两个二进制位如果不同,则位异或的结果是1,否则结果是0

换成二进制 再进行抑或
10的二进制:01010
2的二进制: 010
抑或结果:01000 即为十进制8

21的二进制:010101
抑或结果:010111 即为十进制23

你的明白?

按位异或
先换成二进制
21为10101
2为 00010
上下每位对比,不同的取1,相同的取0
结果10111,再换成十进制就是23

楼主搜一下C++的关键字,运算符,操作符,每个都弄懂,把基础打好。

你看看是不是“^”被重载了

二进制异或噻 搜一下